Шаг 16 - SysReAllocStringLen.

Создает новую BSTR, содержащую заданное число символов из старой BSTR, после чего освобождает старую BSTR.

INT SysReAllocStringLen
( 
BSTR FAR* pbstr, 
OLECHAR FAR*pch, 
unsigned int cch
);

Параметры
pbstr
Указатель на переменную, содержащую BSTR.
pch
Указатель на cch символов, которые нужно скопировать, или NULL, чтобы оставить новую строку неинициализированной.
cch
Число символов, которые нужно скопировать из pch. После этих символов добавляется нулевой символ, т. е. всего выделяется память для cch + l символов.

Возвращаемое значение
Возвращает True в случае успеха и False, если не хватает памяти

Комментарии
Выделяет новую строку, копирует в нее cch символов из заданной строки, после чего добавляет в конец нулевой символ. Освобождает BSTR, на которую указывает pbstr, и помещает по этому адресу указатель на новую BSTR. Если pch равно NULL, то строка заданной длины выделяется, но не инициализируется.
Строка рch может содержать внутри нулевые символы и не обязана заканчиваться таким символом.

Hosted by uCoz